import java.text.DecimalFormat;
import java.util.Scanner;

class Rect {
    double l,h,z;
    public Rect(double l,double h,double z) {
        if(l>0&&h>0&&z>0) {
            this.h=h;
            this.l=l;
            this.z=z;
        }
    }

    public double length() {
        return 2*(l+h);
    }

    public double area() {
        return l*h;
    }
}

class Cubic extends Rect {

    public Cubic(double l,double h,double z) {
        super(l,h,z);
    }

    public double area() {
        return 2*super.area()+length()*z;
        //上下底面+底面周长*高
    }

    public double Volumn() {
        return super.area()*z;
    }

}

class Pyramid extends Rect {

    public Pyramid(double l,double h,double z) {
        super(l,h,z);
    }

    public double area() {
        return super.area()+l*Math.sqrt(z*z+h*h/4)+h*Math.sqrt(z*z+l*l/4);
    }

    public double Volumn() {
        return super.area()*z/3;
    }
}

public class Main {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while(input.hasNext()) {
            double h,l,z;
            l=input.nextDouble();
            h=input.nextDouble();
            z=input.nextDouble();
            Cubic cub = new Cubic(l,h,z);
            Pyramid p = new Pyramid(l,h,z);
            DecimalFormat m = new DecimalFormat("0.00");
            System.out.println(m.format(cub.area())+" "+m.format(cub.Volumn())+" "+m.format(p.area())+" "+m.format(p.Volumn()));
        }
        input.close();
    }
}